General Use Authorization Definitions

SoftwareShield System Feature Guide > Authorization Definitions > Authorization Definition Types > General Use Authorization Definitions

## General Use Authorization Definitions

A General Use Authorization Definition can be used for a wide variety of purposes. This gives you the flexibility to design new functionality through the SoftwareShield system by defining an Authorization Definition that (optionally) interprets a parameter and recalls if it was activated etc.

Once activated, the General Use Authorization Definition marks itself as activated (retrievable through the ClientProtector function GetAuthorizationDetails) and stores the parameter it received.

The Activation Code that is generated for a General Use Authorization Definition does give you the option of using a shelf-life. The resulting Activation Code must be used within the shelf-life after the date it has been issued, or the code itself will expire and will cease to work. Note you can override the shelf-life you defined when you created the license at the time you generate an Activation Code with the Manual Activation Code Generator.

The Activation Code that is generated for a General Use Authorization Definition is a "single-use" code by default. If single-use is enabled, they can only be used once. However, note that you may reissue it to the same customer on another day, and the code will be different (due to the embedded shelf-life date) and therefore may be used by the customer. You have the option of turning off single-use when you define your license, but do not have the option of overriding it later.

General Use Authorization Definitions optionally use a parameter. The parameter is a number between 0 and 65535 (16 bits). Your application can interpret this number in any way you wish. Possibilities include pay-per-use of specific features (allowing you to potentially implement independent pay-per-use of multiple features inside the program) to manipulating the parameter as a 16 bit bit-field allowing you to toggle a variety of flags on or off remotely and securely.

### When To Use A General Use Authorization Definition

Create a General Use Authorization Definition to implement pay-per-use of specific features. The customer must prepay for some number of uses, which are stored in the parameter value member of the activation code inside the license. Every time your application wants to use a "use" of your controlled feature, check to see if there are any uses remaining in the stored parameter value (see GetAuthorizationDetails) and if so - decrement the paid uses by one by using SetAuthorizationDetails.

There are many other possible uses for General Use Authorization Definitions.

### More Information

For help in actually creating a General Use Authorization Definition, please see Authorization Definition Dialog in the SoftwareShield License Manager Reference.